package outputStream;

import org.junit.jupiter.api.Test;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

/**
 * @author 培培
 * @condition 努力学习中
 */
public class OutputStream_ {
    public static void main(String[] args) {

    }

    /**
     * 使用FileOutputStream 将数据写到文件中
     * 如果该文件不存在，则创建改文件
     */
    @Test
    public void writeFile(){

        //创建FileOutputStream 对象
        String filePath = "d:\\a.txt";
        FileOutputStream fileOutputStream = null;

        /**
         * 1、new FileOutputStream(filePath) 的创建方式，当写入内容是会覆盖原来的内容
         *
         * 2、new FileOutputStream(filePath,true) 的创建方式，当写入内容是，追加到到文件的尾部，不会覆盖
         */
        try {
            //得到FileOutputStream 对象
            fileOutputStream = new FileOutputStream(filePath);

//            //写入一个字节
//            fileOutputStream.write('H');//char 和 int 之间可以自动转换

            //写入字符串
            String str = "hello,world";
//            //str.getBytes() 可以把 字符串 -> 字节数组
//            fileOutputStream.write(str.getBytes());

            //write(byte[] b,int off,int len) ,将len 字节从位于偏移量off指定字节数组写入
            fileOutputStream.write(str.getBytes(),0,str.length());

        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                fileOutputStream.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

